package com.huiyun.project.pay.client.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;

/**
 * @author tiger
 */
@Data
@ApiModel("支付订单创建请求参数对象")
@Accessors(chain = true)
public class PayReq {
    @ApiModelProperty("微信支付体系参数openId")
    private String openId;
    @ApiModelProperty(value = "商户Id", required = true)
    @NotBlank
    private String mchId;
    @ApiModelProperty(value = "商户订单号", required = true)
    @NotBlank
    private String mchOrderNo;
    @ApiModelProperty(value = "支付渠道Id", required = true)
    private String channelId;
    @ApiModelProperty(value = "应用Id", required = true)
    @NotBlank
    private String channelAppId;
    @ApiModelProperty(value = "支付金额（单位分）", required = true)
    @NotBlank
    private String amount;
    @ApiModelProperty(value = "三位货币代码,人民币:cny", required = true)
    @NotBlank
    private String currency;
    @ApiModelProperty("设备")
    private String device;
    @ApiModelProperty("特定渠道发起时额外参数")
    private String extra;
    @ApiModelProperty(" 扩展参数1")
    private String param1;
    @ApiModelProperty(" 扩展参数2")
    private String param2;
    @ApiModelProperty(value = "签名", required = true)
    private String sign;
    @ApiModelProperty(value = "商品主题", required = true)
    private String subject;
    @ApiModelProperty(value = "商品描述信息", required = true)
    private String body;
    @ApiModelProperty(value = "通知地址(不携带域名,域名需要在支付商户中配置)")
    @NotBlank
    private String mchNotifyUrl;
}
